From 374bedc0e2c208ee3fe0bfc698841e5c093e2905 Mon Sep 17 00:00:00 2001 From: Evangelos Foutras Date: Sat, 11 Apr 2015 11:20:56 +0300 Subject: [PATCH] x11: Relax requirements for setting ParentRelative XSetWindowBackgroundPixmap() will throw BadMatch only in the case of a different parent window depth. Different visuals are fine and actually expected in Gtk+ 3.16 (since we don't stick to the system default visual but try to pick a better one). https://bugzilla.gnome.org/show_bug.cgi?id=747524 --- gdk/x11/gdkwindow-x11.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 25b5e2b4fc..1ace677a73 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -2963,15 +2963,15 @@ gdk_window_x11_set_background (GdkWindow *window, { GdkWindow *parent; - /* X throws BadMatch if the parent has a different visual when + /* X throws BadMatch if the parent has a different depth when * using ParentRelative */ parent = gdk_window_get_parent (window); - if (parent && gdk_window_get_visual (parent) == gdk_window_get_visual (window)) + if (parent && window->depth != parent->depth) XSetWindowBackgroundPixmap (GDK_WINDOW_XDISPLAY (window), - GDK_WINDOW_XID (window), ParentRelative); + GDK_WINDOW_XID (window), None); else XSetWindowBackgroundPixmap (GDK_WINDOW_XDISPLAY (window), - GDK_WINDOW_XID (window), None); + GDK_WINDOW_XID (window), ParentRelative); return; } -- 2.30.2